package com.yilin.tms.core.entity.order.goods;

import com.baomidou.mybatisplus.annotation.TableName;
import com.yilin.tms.core.commons.base.BaseDataEntity;
import com.yilin.tms.core.commons.annotation.Explain;

import javax.persistence.*;

/**
 * 货源货物节点
 *
 * @author zhangjinyuan
 * @date 2022/10/28
 */
@Entity
@Table(name = "goods_order_note_detail")
@TableName(value = "goods_order_note_detail")
public class GoodsOrderNoteDetail extends BaseDataEntity {

    @Explain("货源ID")
    @Column(name = "goods_order_id")
    private String goodsOrderId;
    @Explain("节点ID")
    @Column(name = "goods_order_note_id")
    private String goodsOrderNoteId;

    /**
     * 批次+批号
     */
    @Explain("批次")
    @Column(name = "goods_batch")
    private String goodsBatch;
    //纯数字 识别码，条形码，追溯码，多个用“，”号隔开
    @Explain("识别码")
    @Column(name = "identifier_code")
    private String identifierCode;

    /**
     * 货物·基本信息
     */
    @Explain("货物类型")
    @Column(name = "goods_type_id")
    private String goodsTypeId;
    @Explain("类型名称")
    @Column(name = "goods_type_name")
    private String goodsTypeName;
    @Explain("货物类型代码")
    @Column(name = "goods_type_code")
    private String goodsTypeCode;
    @Explain("货物名称")
    @Column(name = "goods_name")
    private String goodsName;
    @Explain("货物描述")
    @Column(name = "goods_describe")
    private String goodsDescribe;

    //标准毛重 千克
    @Explain("毛重")
    @Column(name = "gross_weight")
    private Double grossWeight;

    //统一计量单位
    @Explain("计量单位")
    @Column(name = "measure_unit")
    private String measureUnit;
    @Explain("货物量")
    @Column(name = "goods_measure")
    private Double goodsMeasure;
    @Explain("已装量")
    @Column(name = "embark_measure")
    private Double embarkMeasure = 0D;

    //运输单价，单价计价有效
    @Explain("运输单价")
    @Column(name = "goods_unit_price")
    private Double goodsUnitPrice;
    @Explain("运输费")
    @Column(name = "goods_transport_cost")
    private Double goodsTransportCost;
    @Explain("货物价值单价")
    @Column(name = "cargo_unit_price")
    private Double cargoUnitPrice;
    @Explain("赔付阈值")
    @Column(name = "cargo_threshold")
    private Double cargoThreshold;


    public Double getCargoThreshold() {
        return cargoThreshold;
    }

    public void setCargoThreshold(Double cargoThreshold) {
        this.cargoThreshold = cargoThreshold;
    }

    public String getGoodsTypeCode() {
        return goodsTypeCode;
    }

    public void setGoodsTypeCode(String goodsTypeCode) {
        this.goodsTypeCode = goodsTypeCode;
    }

    public String getGoodsOrderId() {
        return goodsOrderId;
    }

    public void setGoodsOrderId(String goodsOrderId) {
        this.goodsOrderId = goodsOrderId;
    }

    public String getGoodsOrderNoteId() {
        return goodsOrderNoteId;
    }

    public void setGoodsOrderNoteId(String goodsOrderNoteId) {
        this.goodsOrderNoteId = goodsOrderNoteId;
    }

    public String getGoodsBatch() {
        return goodsBatch;
    }

    public void setGoodsBatch(String goodsBatch) {
        this.goodsBatch = goodsBatch;
    }

    public String getIdentifierCode() {
        return identifierCode;
    }

    public void setIdentifierCode(String identifierCode) {
        this.identifierCode = identifierCode;
    }

    public String getGoodsTypeId() {
        return goodsTypeId;
    }

    public void setGoodsTypeId(String goodsTypeId) {
        this.goodsTypeId = goodsTypeId;
    }

    public String getGoodsTypeName() {
        return goodsTypeName;
    }

    public void setGoodsTypeName(String goodsTypeName) {
        this.goodsTypeName = goodsTypeName;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsDescribe() {
        return goodsDescribe;
    }

    public void setGoodsDescribe(String goodsDescribe) {
        this.goodsDescribe = goodsDescribe;
    }

    public Double getGrossWeight() {
        return grossWeight;
    }

    public void setGrossWeight(Double grossWeight) {
        this.grossWeight = grossWeight;
    }

    public Double getGoodsMeasure() {
        return goodsMeasure;
    }

    public void setGoodsMeasure(Double goodsMeasure) {
        this.goodsMeasure = goodsMeasure;
    }

    public Double getEmbarkMeasure() {
        return embarkMeasure;
    }

    public void setEmbarkMeasure(Double embarkMeasure) {
        this.embarkMeasure = embarkMeasure;
    }

    public String getMeasureUnit() {
        return measureUnit;
    }

    public void setMeasureUnit(String measureUnit) {
        this.measureUnit = measureUnit;
    }

    public Double getGoodsUnitPrice() {
        return goodsUnitPrice;
    }

    public void setGoodsUnitPrice(Double goodsUnitPrice) {
        this.goodsUnitPrice = goodsUnitPrice;
    }

    public Double getGoodsTransportCost() {
        return goodsTransportCost;
    }

    public void setGoodsTransportCost(Double goodsTransportCost) {
        this.goodsTransportCost = goodsTransportCost;
    }

    public Double getCargoUnitPrice() {
        return cargoUnitPrice;
    }

    public void setCargoUnitPrice(Double cargoUnitPrice) {
        this.cargoUnitPrice = cargoUnitPrice;
    }
}
